package com.bjqh.edu.UI.Utils;

import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.support.multidex.MultiDex;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.Log;
import android.widget.Toast;

import com.baijiahulian.BJVideoPlayerSDK;
import com.bjqh.edu.Base.AppConstants;
import com.bjqh.edu.Bean.Login;
import com.bjqh.edu.MainActivity;
import com.bjqh.edu.UI.Activity.Login.LoginActivity;
import com.bjqh.edu.UI.Activity.TeacherPersonal.TeacherIndexActivity;
import com.bjqh.edu.UI.dialog.LoadDialog;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.cache.CacheEntity;
import com.lzy.okgo.cache.CacheMode;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.HttpHeaders;

import java.math.BigDecimal;
import java.util.Calendar;

import okhttp3.Call;
import okhttp3.Response;


/**
 * Created by ${yf} on 2017/2/16.
 */

public class MyApplication extends Application {

    private static MyApplication myApplication;


    @Override
    public void onCreate() {
        super.onCreate();
        myApplication = this;
        BJVideoPlayerSDK.getInstance().init(this);
        Fresco.initialize(this);
        HttpHeaders headers = new HttpHeaders();
        headers.put("mobile", AppConstants.md5("qianhexuetangHead"));
        //header不支持中文
        //-----------------------------------------------------------------------------------//

        //以下设置的所有参数是全局参数,同样的参数可以在请求的时候再设置一遍,那么对于该请求来讲,请求中的参数会覆盖全局参数
        //好处是全局参数统一,特定请求可以特别定制参数
        try {
            Log.i("lsy", "OkGo.getInstance()");
            OkGo.getInstance()
                    //打开该调试开关,控制台会使用 红色error 级别打印log,并不是错误,是为了显眼,不需要就不要加入该行
                    .debug("OkGo")

                    //如果使用默认的 60秒,以下三行也不需要传
                    .setConnectTimeout(OkGo.DEFAULT_MILLISECONDS)  //全局的连接超时时间
                    .setReadTimeOut(OkGo.DEFAULT_MILLISECONDS)     //全局的读取超时时间
                    .setWriteTimeOut(OkGo.DEFAULT_MILLISECONDS)    //全局的写入超时时间
                    //可以全局统一设置缓存模式,默认是不使用缓存,可以不传,具体其他模式看 github 介绍 https://github.com/jeasonlzy/
                    .setCacheMode(CacheMode.NO_CACHE)
                    .setCookieStore(PersistentCookieStore.instance())
                    //可以全局统一设置缓存时间,默认永不过期,具体使用方法看 github 介绍
                    .setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE)
                    //这两行同上,不需要就不要传
                    .addCommonHeaders(headers);                                     //设置全局公共头
            //设置全局公共参数
        } catch (Exception e) {
            e.printStackTrace();
        }
        //必须调用初始化
        OkGo.init(this);
        OkGo.getInstance().setCookieStore(PersistentCookieStore.instance());
        OkGo.getInstance().addCommonHeaders(headers);


    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);//解决65535
    }

    public static Context getApp() {
        return myApplication;
    }
}
